#include <iostream>
#include <vector>
#include<string>
#include <algorithm>

using namespace std;

class Solution 
{
public:
    int mySqrt(int x) 
    {
        if(x < 1) return 0;//处理边界
        int left = 1,right = x;

        while(left < right)
        {
            long long mid = left + (right - left + 1) / 2; //防溢出
            if(x >= mid * mid) left = mid;
            else right = mid - 1;
        }
        return left;
    }
};